Remote network computing generally relates to the sharing of a graphical display on a host computer, which may be in a remote location, with a local computing device in order to facilitate the control of the remote host computer via the local computing device. More particularly, a user of the local computing device is able to view, via the graphical user interface of the local computing device, all or a portion of the graphical user interface on the remote host computer and, furthermore, control the operations of the remote host computer via inputs to the local computing device.
A remote network computing system generally includes a client, a server and a communication protocol. The server is the program on the machine that shares its screen (i.e., at the host computer). The client (or viewer) is the program that watches and interacts with the server (i.e., at the local computing device). Finally, the communication protocol is generally based on graphical elements sent from server to client in one direction, and event messages from client to server in the opposite direction. By way of example, the server may send the client pixel data to be displayed at a specified position, and the client may send the server events related to inputs at the client.